package api;

import cn.hutool.json.JSONUtil;
import model.UserInfo;
import util.AppVar;
import util.ResultUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * 得到当前登录用户的信息
 */
@WebServlet("/loginUserInfo")
public class LoginUserInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        UserInfo userInfo = null;
        String msg = "未知错误！";
        // 1.得到 session 对象
        HttpSession session = req.getSession(false);
        // 2.从 session 对象中获取当前登录的用户
        if (session != null && session.getAttribute(AppVar.SESSION_USERINFO_KEY) != null) {
            // 当前用户已登录
            userInfo = (UserInfo) session.getAttribute(AppVar.SESSION_USERINFO_KEY);
            userInfo.setPassword(""); // 去除掉返回信息中的密码数据
        } else {
            msg = "未登录！";
        }
        // 3.将用户返回给前端
        resp.setContentType("application/json; charset=utf-8");
        resp.getWriter().println(JSONUtil.toJsonStr(ResultUtils.toResult(
                200, userInfo, msg)));
    }
}